package br.com.zorandir.ui;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

import br.com.zorandir.bean.Produto;
import br.com.zorandir.pesquisa.ProdutosDao;

public class UserInterface {

	public UserInterface() {
 
		// create a simple graph for the demo
		ArrayList<Produto> produtos = new ProdutosDao().listProdutos();

		// create a frome to hold the graph
		JFrame frame = new JFrame("Sugestão de Compras");
		frame.setSize(200, 200);
		frame.setLayout(new GridLayout(3,1));
		Container content = frame.getContentPane();
		content.setSize(new Dimension(200, 200));
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		Produto[] produtoOption = new Produto[produtos.size()];
		for(int i = 0; i < produtos.size(); i++){
			produtoOption[i]= produtos.get(i);
		}

		final JComboBox petList = new JComboBox(produtoOption);
		petList.setSelectedIndex(0);

		final JPanel filtros = new JPanel();
		final JPanel sugestoes = new JPanel();

		filtros.add(petList, BorderLayout.NORTH);
		filtros.add(sugestoes, BorderLayout.CENTER);

		petList.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				sugestoes.removeAll();
				sugestoes.add(new JLabel("Sugestões:"));
				Produto produto = (Produto) petList.getSelectedItem(); 
				ArrayList<Produto> listSugestoesProdutos = new ProdutosDao().listSugestoesProdutos(produto.getId().intValue());
				for(Produto prod : listSugestoesProdutos){
					sugestoes.add(new JLabel(prod.getNome()));
				}
				sugestoes.revalidate();
			}
		});
		
		content.add(filtros, BorderLayout.NORTH);
		content.add(sugestoes, BorderLayout.CENTER);
		content.add(new JPanel(), BorderLayout.SOUTH);

		frame.pack();
		frame.setVisible(true);
	}

	public static void main(String[] args) {
		new UserInterface();
	}
}
